import Vue from 'vue'
import VueRouter from 'vue-router'
//引入所有路由
import routes from './router/router'
//引入状态管理
import store from './store/'
//引入路由配置
import { routerMode } from './config/env'
//图片、字体自适应，全局响应
import './config/rem'
// https://blog.csdn.net/weixin_43267006/article/details/106151911
// import 'default-passive-events'

// 去掉浏览器vue插件提示
Vue.config.devtools = false;
// 去掉生产环境vue提示
Vue.config.productionTip = false;

Vue.use(VueRouter)
const router = new VueRouter({
    routes,//所有路由
    mode: routerMode,//路由模式
    /**如果在开发环境下，使用严格模式进行开发检查
     * 不要在发布环境下启用严格模式！严格模式会深度监测状态树来检测不合规的状态变更——请确保在发布环境下关闭严格模式，以避免性能损失。
     * doc: https://vuex.vuejs.org/zh/guide/strict.html
     */
    strict: process.env.NODE_ENV !== 'production',
    /**
     * 保存上一个页面的y坐标，放回时候回到该坐标
     * doc: https://router.vuejs.org/zh/guide/advanced/scroll-behavior.html#%E5%BC%82%E6%AD%A5%E6%BB%9A%E5%8A%A8
    */
    scrollBehavior(to, from, savedPosition) {
        if (savedPosition) {
            return savedPosition
        } else {
            if (from.meta.keepAlive) {
                from.meta.savedPosition = document.body.scrollTop;
            }
            return { x: 0, y: to.meta.savedPosition || 0 }
        }
    }
})

new Vue({
    router,
    store,
}).$mount('#app')

